<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // call、apply、bind在某个函数(方法)调用时候限定该函数内this的指向
        // 让一个对象去调用另一个函数
        // 函数.call(调用者,参数1,参数2,参数3)参数是以逗号隔开
        // 函数.apply(调用者,[参数1,参数2,参数3])参数是以数组的形式
        // call和apply调用指定的函数会立即执行
        // bind为指定函数设定this后，会返回一个函数
        // var result=函数.bind(调用者,参数1,参数2,参数3);
        // result();
        function show(){
            console.log(this);
        }
        var user={name:"alice"};
        // show.call(user);
        show.apply(user);
        console.log("---------------------------------");

        function show2(a,b){
            console.log(this);
            console.log(a,b);
        }
        // show2.call(user,1000,2000);
        // show2.apply(user,[100,200]);//第二个参数会自行完成循环展开，将数组的元素对应的赋值给函数的形参
        // var result=show2.bind(user,78,89);
        // console.log(result);
        // result();

        show2.bind(user,78,89)();
    </script>
</head>
<body>
    
</body>
</html>